package cn.sccdlg.spring5.ui;

import cn.sccdlg.spring5.service.AccountService;
import org.springframework.context.support.ClassPathXmlApplicationContext;

/**
 * @author RaoShuang
 * @emil 991207823@qq.com
 * @date 2020/10/17 22:45
 * 模拟一个表现层，用于调用业务层
 *  本次探究的是：spring如何管理bean对象之二 bean的生命周期
 */
public class Client2 {

    /**
     * @param args
     */
    public static void main(String[] args) {
        //1.获取核心容器对象
        //1-1、接口引用指向子类实现
//        ApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");
        //1-2、直接创建子类对象且子类引用，此时，子类中的特有方法可以执行
        ClassPathXmlApplicationContext ac = new ClassPathXmlApplicationContext("bean.xml");

        //2.根据id获取Bean对象
        //2-4、bean的生命周期
        AccountService as6  = (AccountService)ac.getBean("accountService6");
        as6.saveAccount();

        //手动关闭容器
        ac.close();

    }

}
